package com.rj.ability.leqi.adapter.domain.aisino;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.rj.ability.leqi.req.HwysData;
import com.rj.core.constant.DigitsEnum;
import com.rj.util.AssertUtils;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;

/**
 * 数电票上传(货物信息)
 *
 * @author YFX_RANLUBO
 * @date 2024/04/30 15:42
 **/
@Data
@AutoMapper(target = HwysData.class, reverseConvertGenerate = false)
public class AisinoHwysData {
    /**
     * 运输明细序号 Number 8 是
     */
    @JsonProperty("id")
    private String ysmxxh;
    /**
     * 起运地 varchar 80 是
     */
    @JsonProperty("fromCity")
    private String qyd;
    /**
     * 到达地 varchar 80 是
     */
    @JsonProperty("toCity")
    private String ddd;
    /**
     * 运输工具种类 varchar 40 是 铁路运输 公路运输 水路运输 航空运输 管道运输
     */
    @JsonProperty("vehicleCode")
    private String ysgjzl;
    /**
     * 运输工具牌号 varchar 40 是
     */
    @JsonProperty("vehicleNum")
    private String ysgjph;
    /**
     * 运输货物名称 varchar 80 是
     */
    @JsonProperty("goodsName")
    private String yshwmc;

    public void check() {
        AssertUtils.maxDigits(false, "运输明细序号", ysmxxh, 8, 0, DigitsEnum.POSITIVE);
        AssertUtils.notEmpty("起运地", qyd, 80);
        AssertUtils.notEmpty("到达地", ddd, 80);
        AssertUtils.in(false, ysgjzl, "运输工具种类", "铁路运输", "公路运输", "水路运输", "航空运输", "管道运输");
        AssertUtils.notEmpty("运输工具牌号", ysgjph, 40);
        AssertUtils.notEmpty("运输货物名称", yshwmc, 80);
    }

}
